/*
    * @description:
    * @param {Object} json 服务端发过来的数据
    * @param {String} name 导出Excel文件名字
   
    * @param {String} titleArr 导出Excel表头
   
    * @param {String} sheetName 导出sheetName名字
    * @return:
    */
import * as XLSX from "xlsx";
export const exportExcel =(json, name, ws_name) =>{
    const wb = XLSX.utils.book_new(); // 创建一个工作簿对象：
    const ws = XLSX.utils.aoa_to_sheet(json)
    let wscols = [    // 每列不同宽度px
    { wch: 20 }
  ]
    for (let i = 0; i < json[0].length; i++) {  
        wscols.push({ wch: 20 });
  }

  ws["!cols"] = wscols;
  let wsrows = [{ hpx: 20 }];  // 
  for (let i = 0; i <= json[0].length; i++) {   // total  列表条数
    wsrows.push({ hpx: 20 });
  }
  ws["!rows"] = wsrows;
  XLSX.utils.book_append_sheet(wb, ws, ws_name);
  try {
    XLSX.writeFile(wb,name);  //  time_date 所选日期
  } catch (e) {
    console.log(e, wb);
  }
    // XLSX.utils.book_append_sheet(wb, ws, ws_name); // 将数据添加到工作薄
    // XLSX.writeFile(wb, name); 
}
// export const exportExcel=(json, name, titleArr, sheetName) =>{
//     console.log(json, name, titleArr, sheetName);
//     /* convert state to workbook */
//     var data = new Array();
//     var keyArray = new Array();
//     const getLength = function (obj) {
//       var count = 0;
//       for (var i in obj) {
//         if (obj.hasOwnProperty(i)) {
//         count++;
//         }
//       }
//     return count;
//     };
//     for (const key1 in json) {
//     if (json.hasOwnProperty(key1)) {
//       const element = json[key1];
//       var rowDataArray = new Array();
//       for (const key2 in element) {
//       if (element.hasOwnProperty(key2)) {
//         const element2 = element[key2];
//         rowDataArray.push(element2);
//         if (keyArray.length < getLength(element)) {
//         keyArray.push(key2);
//         }
//       }
//       }
//       data.push(rowDataArray);
//     }
//     }
//     // keyArray为英文字段表头
//     data.splice(0, 0, keyArray, titleArr);
//     console.log('data', data);
//     const ws = XLSX.utils.aoa_to_sheet(data);
//     const wb = XLSX.utils.book_new();
//     console.log(ws);
//     console.log(wb);
//     // 此处隐藏英文字段表头
//     var wsrows = [{ hidden: false }];
//     ws['!rows'] = wsrows; // ws - worksheet
//     ws['!merges'] = [
//         { s: { r: 0, c: 0 }, e: { r: 1, c: 0 } }, // A1:A2 合并
//       ];
//     XLSX.utils.book_append_sheet(wb, ws, sheetName);
//     /* generate file and send to client */
//     XLSX.writeFile(wb, name + '.xlsx');
//   }